> ## Documentation Index
> Fetch the complete documentation index at: https://sequence-0fb8d9e6-api_docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Sign-In with Google & Apple

> Learn how to use Social Sign In and get an Id Token using the Browser Plugin and Sequence's Unreal SDK.

<Steps>
  <Step title="Get a Google or Apple Id Token">
    Start by calling the `Get Google Token Id` function. When you make iOS & Android, it will leverage native plugins
    to manage the id token and calls the `IdTokenReceived` event once the process is finished. When you develop and build
    for Mac & Windows, you are required to handle the Sign In Url with the Browser Plugin.

    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6-api_docs/auazpVRK2iFuGS6h/images/unreal/guides/social_signin/get_token.png?fit=max&auto=format&n=auazpVRK2iFuGS6h&q=85&s=6b00fed8b5a661b1d62bcca511842322" width="1628" height="826" data-path="images/unreal/guides/social_signin/get_token.png" />
    </Frame>
  </Step>

  <Step title="Load the URL using the Browser plugin">
    Create a Browser object and load the `Sign In Url`.

    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6-api_docs/auazpVRK2iFuGS6h/images/unreal/guides/social_signin/load_url.png?fit=max&auto=format&n=auazpVRK2iFuGS6h&q=85&s=c6380c7263c25b1e980295e642f06c5e" width="1998" height="956" data-path="images/unreal/guides/social_signin/load_url.png" />
    </Frame>
  </Step>

  <Step title="Listen to URL changes">
    In order to get the Id token from Apple & Google, we need to listen to changes in the Url string.
    The id token is inside the Url during the Sign-In process and we need additional functions to parse it out of the Url.

    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6-api_docs/auazpVRK2iFuGS6h/images/unreal/guides/social_signin/listen_to_url_changes.png?fit=max&auto=format&n=auazpVRK2iFuGS6h&q=85&s=8dbf090e59aa20608b14bf7daec26437" width="1972" height="920" data-path="images/unreal/guides/social_signin/listen_to_url_changes.png" />
    </Frame>
  </Step>

  <Step title="Parse the id token from the URL">
    Let's integrate a few helper functions to parse the id token from the Url.

    **Url to Map:** Convert the Url's query parameters to a string to string map.

    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6-api_docs/auazpVRK2iFuGS6h/images/unreal/guides/social_signin/url_to_map.png?fit=max&auto=format&n=auazpVRK2iFuGS6h&q=85&s=3b5632139440d0d91c87d97fec29830e" width="3148" height="878" data-path="images/unreal/guides/social_signin/url_to_map.png" />
    </Frame>

    **Token from Url:** Use the map to check if the `id_token` value exists and return it.

    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6-api_docs/auazpVRK2iFuGS6h/images/unreal/guides/social_signin/token_from_url.png?fit=max&auto=format&n=auazpVRK2iFuGS6h&q=85&s=8227c6c0f0d13a4db183cb15e788836f" width="3152" height="1098" data-path="images/unreal/guides/social_signin/token_from_url.png" />
    </Frame>
  </Step>

  <Step title="Create the session">
    Finally, we check if we got the id token and use the value to create a session using the `Start Oidc Session`.

    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6-api_docs/auazpVRK2iFuGS6h/images/unreal/guides/social_signin/start_session.png?fit=max&auto=format&n=auazpVRK2iFuGS6h&q=85&s=41f8619b049846201138f959f680c83c" width="2842" height="1096" data-path="images/unreal/guides/social_signin/start_session.png" />
    </Frame>
  </Step>
</Steps>
